package com.mall.malladminbackend.mapper;

import com.mall.malladminbackend.dto.Create;
import com.mall.malladminbackend.entity.Menu;
import com.mall.malladminbackend.entity.Role;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 作者：郭立仁
 * 描述：永无BUG
 */
@Mapper
public interface RoleMapper {
    List<Role> selectAll();

    //修改角色信息
    int update(@Param("role") Role role, @Param("create") Create create);

    //添加角色
    int insert(@Param("role") Role role, @Param("create") Create create);

    //删除角色
    int delete(Integer id);

    //删除角色与菜单关系
    int deleteRoleAndMenu(Integer id);
    //删除角色与用户关系
    int deleteRoleAndUser(Integer id);

    //根据角色id查询对应的菜单权限
    List<Menu> selectByRoleId(Integer roleId);

    //添加角色与菜单关系
    int insertRoleAndMenu(@Param("id") Integer id,@Param("menus") int[] menus,@Param("create") Create create);
}
